System and method for providing point of interest related notifications

ABSTRACT

A system and method for providing point of interest related notifications within a vehicle that include receiving sensor data associated with an opening of at least one vehicle window of the vehicle. The system and method also include storing a first geo-location of the vehicle based on the sensor data and determining if a subsequent geo-location of the vehicle is within a predetermined vicinity of at least one point of interest. The system and method further include providing at least one point of interest related notification associated with the at least one point of interest if it is determined that the subsequent geo-location of the vehicle is within the predetermined vicinity of the at least one point of interest.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of, and claims priority to, U.S.application Ser. No. 16/428,017, filed on May 31, 2019, which isexpressly incorporated herein by reference.

BACKGROUND

In many cases, individuals may utilize mobile device applications,internet websites, and/or rely of word of mouth to determine informationthat may pertain to one or more points of interest. Such information mayinclude special events, discounts, coupons, suggestions, and the likethat may pertain to retailors, restaurants, coffee shops, entertainmentvenues, and/or third party establishments. However, in many casesindividuals using such means may not obtain such information in a timelyand efficient manner. Such individuals may travel near the one or morepoints of interest without knowing that they may be missing out onopportunities to take advantage of such information at one or morerespective points of interest.

BRIEF DESCRIPTION

According to one aspect, a computer-implemented method for providingpoint of interest related notifications within a vehicle that includesreceiving sensor data associated with an opening of at least one vehiclewindow of the vehicle and storing a first geo-location of the vehiclebased on the sensor data. At least one point of interest is determinedto be located within a predetermined distance of the first geo-locationof the vehicle. The computer-implemented method also includesdetermining if a subsequent geo-location of the vehicle is within apredetermined vicinity of the at least one point of interest. Thecomputer-implemented method further includes providing at least onepoint of interest related notification associated with the at least onepoint of interest if it is determined that the subsequent geo-locationof the vehicle is within the predetermined vicinity of the at least onepoint of interest.

According to another aspect, a system for providing point of interestrelated notifications within a vehicle that includes a memory storinginstructions when executed by a processor cause the processor to receivesensor data associated with an opening of at least one vehicle window ofthe vehicle and store a first geo-location of the vehicle based on thesensor data. At least one point of interest is determined to be locatedwithin a predetermined distance of the first geo-location of thevehicle. The instructions also cause the processor to determine if asubsequent geo-location of the vehicle is within a predeterminedvicinity of the at least one point of interest. The instructions furthercause the processor to provide at least one point of interest relatednotification associated with the at least one point of interest if it isdetermined that the subsequent geo-location of the vehicle is within thepredetermined vicinity of the at least one point of interest.

According to still another aspect, a non-transitory computer readablestorage medium storing instructions that when executed by a computer,which includes a processor perform a method, the method includesreceiving sensor data associated with an opening of at least one vehiclewindow of the vehicle and storing a first geo-location of the vehiclebased on the sensor data. At least one point of interest is determinedto be located within a predetermined distance of the first geo-locationof the vehicle. The method also includes determining if a subsequentgeo-location of the vehicle is within a predetermined vicinity of the atleast one point of interest. The method further includes providing atleast one point of interest related notification associated with the atleast one point of interest if it is determined that the subsequentgeo-location of the vehicle is within the predetermined vicinity of theat least one point of interest.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features believed to be characteristic of the disclosure areset forth in the appended claims. In the descriptions that follow, likeparts are marked throughout the specification and drawings with the samenumerals, respectively. The drawing figures are not necessarily drawn toscale and certain figures may be shown in exaggerated or generalizedform in the interest of clarity and conciseness. The disclosure itself,however, as well as a preferred mode of use, further objects andadvances thereof, will be best understood by reference to the followingdetailed description of illustrative embodiments when read inconjunction with the accompanying drawings, wherein:

FIG. 1 is a schematic view of an exemplary operating environment forproviding point of interest related notifications within a vehicleaccording to an exemplary embodiment of the present disclosure;

FIG. 2 is a schematic view of a plurality of modules of a point ofinterest notification communication application for providing point ofinterest related notifications associated with the at least one point ofinterest that is located within the predetermined vicinity of a locationof the vehicle according to an exemplary embodiment of the presentdisclosure;

FIG. 3 is a process flow diagram of a method for storing a geo-locationof the vehicle based on one or more ignition modes of the vehicleaccording to an exemplary embodiment of the present disclosure;

FIG. 4 is a process flow diagram of a method for storing a geo-locationof the vehicle based on one or more triggering events occurringaccording to an exemplary embodiment of the present disclosure;

FIG. 5 is a process flow diagram of a method for providing one or morepoint of interest notifications to be presented within the vehicleaccording to an exemplary embodiment of the present disclosure; and

FIG. 6 is a process flow diagram of a method for providing point ofinterest related notifications within a vehicle according to anexemplary embodiment of the present disclosure.

DETAILED DESCRIPTION

The following includes definitions of selected terms employed herein.The definitions include various examples and/or forms of components thatfall within the scope of a term and that can be used for implementation.The examples are not intended to be limiting.

A “bus,’ as used herein, refers to an interconnected architecture thatis operably connected to transfer data between computer componentswithin a singular or multiple systems. The bus may be a memory bus, amemory controller, a peripheral bus, an external bus, a crossbar switch,and/or a local bus, among others. The bus may also be a vehicle bus thatinterconnects components inside a vehicle using protocols such asController Area network (CAN), Media Oriented System Transport (MOST),Local Interconnect Network (LIN), among others.

“Computer communication,” as used herein, refers to a communicationbetween two or more computing devices (e.g., computer, personal digitalassistant, cellular telephone, network device) and may be, for example,a network transfer, a file transfer, an applet transfer, an email, ahypertext transfer protocol (HTTP) transfer, and so on. A computercommunication may occur across, for example, a wireless system (e.g.,IEEE 802.11), an Ethernet system (e.g., IEEE 802.3), a token ring system(e.g., IEEE 802.5), a local area network (LAN), a wide area network(WAN), a point-to-point system, a circuit switching system, a packetswitching system, among others.

An “input device,” as used herein may include devices for controllingdifferent vehicle features which include various vehicle components,systems, and subsystems. The term “input device” includes, but it notlimited to: push buttons, rotary knobs, and the like. The term “inputdevice” additionally includes graphical input controls that take placewithin a user interface which may be displayed by various types ofmechanisms such as software and hardware based controls, interfaces, orplug and play devices.

A “memory,” as used herein may include volatile memory and/ornonvolatile memory. Non-volatile memory may include, for example, ROM(read only memory), PROM (programmable read only memory), EPROM(erasable PROM) and EEPROM (electrically erasable PROM). Volatile memorymay include, for example, RAM (random access memory), synchronous RAM(SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rateSDRAM (DDR SDRAM), and direct RAM bus RAM (DRRAM).

A “module,” as used herein, includes, but is not limited to, hardware,firmware, software in execution on a machine, and/or combinations ofeach to perform a function(s) or an action(s), and/or to cause afunction or action from another module, method, and/or system. A modulemay include a software controlled microprocessor, a discrete logiccircuit, an analog circuit, a digital circuit, a programmed logicdevice, a memory device containing executing instructions, and so on.

An “operable connection,” as used herein may include a connection bywhich entities are “operably connected”, is one in which signals,physical communications, and/or logical communications may be sentand/or received. An operable connection may include a physicalinterface, a data interface and/or an electrical interface.

An “output device,” as used herein may include devices that may derivefrom vehicle components, systems, subsystems, and electronic devices.The term “output devices” includes, but is not limited to: displaydevices, and other devices for outputting information and functions.

A “processor,” as used herein, processes signals and performs generalcomputing and arithmetic functions. Signals processed by the processormay include digital signals, data signals, computer instructions,processor instructions, messages, a bit, a bit stream, or other meansthat may be received, transmitted and/or detected. Generally, theprocessor may be a variety of various processors including multiplesingle and multicore processors and co-processors and other multiplesingle and multicore processor and co-processor architectures. Theprocessor may include various modules to execute various functions.

A “vehicle,” as used herein, refers to any moving vehicle that iscapable of carrying one or more human occupants and is powered by anyform of energy. The term “vehicle” includes, but is not limited to:cars, trucks, vans, minivans, SUVs, motorcycles, scooters, boats,personal watercraft, and aircraft. In some cases, a motor vehicleincludes one or more engines.

A “vehicle system,” as used herein may include, but are not limited to,any automatic or manual systems that may be used to enhance the vehicle,driving and/or safety. Exemplary vehicle systems include, but are notlimited to: an electronic stability control system, an anti-lock brakesystem, a brake assist system, an automatic brake prefill system, a lowspeed follow system, a cruise control system, a collision warningsystem, a collision mitigation braking system, an auto cruise controlsystem, a lane departure warning system, a blind spot indicator system,a lane keep assist system, a navigation system, a transmission system,brake pedal systems, an electronic power steering system, visual devices(e.g., camera systems, proximity sensor systems), a climate controlsystem, an electronic pretensioning system, among others.

I. System Overview

Referring now to the drawings, wherein the showings are for purposes ofillustrating one or more exemplary embodiments and not for purposes oflimiting the same, FIG. 1 is a schematic view of an exemplary operatingenvironment 100 for providing point of interest related notificationswithin a vehicle 102 according to an exemplary embodiment of the presentdisclosure.

As shown, the operating environment 100 may include the vehicle 102 thatmay include a plurality of components that may be operably controlled byan electronic control unit 104. The vehicle 102 may be configured tocommunicate with an externally hosted computing infrastructure (externalserver) 106 that may be managed by a vehicle manufacturer (OEM) or athird-party entity (e.g., business, application developer). As discussedbelow, the ECU 104 and/or the external server 106 may be configured toexecute a point of interest notification communication application (POInotification application) 108 that may be executed to provide point ofinterest related notifications within the vehicle 102.

In an exemplary embodiment, the POI notification application 108 may beconfigured to execute logic that may enable the application 108 toreceive sensor data from one or more sensors of the vehicle 102 todetermine if one or more triggering events take place. The one or moretriggering events may be related to the operation of the vehicle 102and/or the utilization of one or more components of the vehicle 102 andmay be used to determine one or more instances in which a geo-locationof the vehicle 102 should be retrieved from the vehicle 102 and storedon the external server 106.

As discussed below, the POI notification application 108 may beconfigured to analyze geo-location data that is retrieved and stored todetermine if one or more points of interest that may be located within apredetermined distance (e.g., 1000 feet) of the retrieved geo-locationof the vehicle 102. The POI notification application 108 may utilizesuch information to store data pertaining to points of interest that maybe visited by one or more occupants (not shown) of the vehicle 102. Thisdata may be further utilized during one or more subsequent trips of thevehicle 102. In particular, the POI notification application 108 maydetermine if the vehicle 102 is within a predetermined vicinity (e.g.,within a 0.5 mile vicinity) of one or more stored points of interestbased on one or more subsequent geo-locations of the vehicle 102. ThePOI notification application 108 may be configured to provide one ormore point of interest related notifications to the one or moreoccupants of the vehicle 102 that may be associated with the datapertaining to the one or more stored points of interest that are in thepredetermined vicinity of the vehicle 102.

The one or more point of interest related notifications may include, butmay not be limited to, smart suggestions, event notifications, discountnotifications, offer notifications, and/or additional notifications thatmay pertain to one or more particular points of interest. The POInotification application 108 may accordingly communicate one or morepoint of interest related notifications associated with one or morepoints of interest that are located within the predetermined vicinity ofthe traveling location of the vehicle 102 to thereby notify one or moreoccupants of the vehicle 102 of relevant information that may pertain toone or more nearby points of interest.

As an illustrative example, if the vehicle 102 stops at a drive thruwindow of a coffee shop, the application 108 may utilize a driver's sidewindow of the vehicle 102 being opened at a geo-location that is withina predetermined distance of the coffee shop as a triggering event thatmay enable the application 108 to determine and store the geo-locationof the vehicle 102. The application 108 may gather data regarding thecoffee shop as a point of interest that is located within apredetermined distance of the captured geo-location of the vehicle 102.Accordingly, during one or more subsequent trips of the vehicle 102, ifthe vehicle 102 is determined to be located within a predeterminedvicinity (e.g., 0.5 miles) of the coffee shop based on the previouslystored geo-location of the vehicle 102, the application 108 may provideone or more point of interest related notifications to one or moreoccupants of the vehicle 102. Such point of interest relatednotifications may include coupons, offers, specials, events, and/oradditional information that may pertain to the coffee shop.

With reference to the vehicle 102, as discussed, the components of thevehicle 102 may be operably controlled by the ECU 104 of the vehicle102. The ECU 104 may be configured to execute one or more applicationsincluding but not limited to the POI notification application 108. TheECU 104 may also be configured to execute one or more operating systems,vehicle system and subsystem executable instructions, vehicle sensorlogic, and the like. In one or more embodiments, the ECU 104 may includea microprocessor, one or more application-specific integrated circuit(s)(ASIC), or other similar devices.

The ECU 104 may also include respective internal processing memory, aninterface circuit, and bus lines for transferring data, sendingcommands, and communicating with the plurality of components of thevehicle 102. In one or more configurations, the ECU 104 may include arespective communication device (not shown) for sending data internallyto components of the vehicle 102 and communicating with externallyhosted computing systems (not shown) (e.g., external to the vehicle102). Generally, the ECU 104 may communicate with a storage unit 110 toexecute one or more applications, operating systems, vehicle systems andsubsystem user interfaces, and the like that are stored on the storageunit 110.

In one or more embodiments, the storage unit 110 may be configured tostore a point of interest favorite list (POI favorite list) 112 that maybe populated based on inputs that may be provided by one or moreoccupants of the vehicle 102. In particular, the POI favorite list 112may be updated by the ECU 104 based on reception of an input by theoccupant(s) (e.g., on a user interface) that a particular point ofinterest (e.g., school, restaurant, store, etc.) is to be stored as afavorite point of interest. The POI favorite list 112 may be utilized bya navigation system (not shown) of the vehicle 102 to quickly input thepoint(s) of interest as a destination in order to provide drivingdirections and/or traffic information related to a path of travel to thefavorite point(s) of interest. In one embodiment, the application 108may be configured to access and analyze the POI favorite list 112 todetermine one or more favorite points of interest that may be frequentlyvisited by the vehicle 102.

In an exemplary embodiment, the ECU 104 may also be operably connectedto a head unit 114 of the vehicle 102. The head unit 114 may beconfigured to execute one or more application, application interfaces,and/or communicate with one or more components of the vehicle 102 toprovide one or more interfaces to the one or more occupants within thevehicle 102. In one embodiment, the head unit 114 may operably controland may be operably connected to a display unit 116 within the vehicle102.

The head unit 114 may operably control the display unit 116 to presentone or more interfaces of the POI notification application 108 withinthe vehicle 102. In one embodiment, the display unit 116 may include adisplay screen (not shown) that may be positioned upon a center stackconsole (not shown) of the vehicle 102. However, in additionalconfigurations, the display unit 116 may be configured as one or moredisplay screens that may be alternatively or additionally in one or moreformats, including, but not limited to, a dash board display, a seatback/cushion display, a pop-up display, a head-up display, ahead-mounted display, and a portable device display.

In one embodiment, the one or more interfaces of the POI notificationapplication 108 may include one or more application settings interfacesthat may be presented to the occupant(s) of the vehicle 102 through thedisplay unit. The one or more settings interfaces may enable theoccupant(s) to enable and/or disable the presentation of POI relatednotifications within the vehicle 102. In some configurations, the one ormore settings interfaces may enable the occupant(s) to increase ordecrease a frequency, length, and/or number of POI related notificationsthat may be presented by the application 108 within the vehicle 102. Inadditional configurations, the one or more settings interfaces mayenable the occupant(s) to mute (e.g., block) the presentation of one ormore POI related notifications that pertain to one or more specificpoints of interest and/or one or more categories of points of interest.

In one embodiment, the one or more interfaces of the POI notificationapplication 108 may also include one or more POI related notificationinterfaces that may also be presented to the occupant(s) of the vehicle102 through the display unit 116. The one or more POI relatednotification interfaces may present one or more point of interestrelated notifications associated with one or more points of interestthat are located within the predetermined vicinity of the travelinglocation of the vehicle 102. As discussed, the one or more point ofinterest related notifications may be provided within the vehicle 102 tonotify one or more occupants of the vehicle 102 of relevant informationthat may pertain to one or more points of interest that are locatedwithin the predetermined vicinity of the vehicle 102. In someembodiments, the head unit 114 may utilize one or more vehicle systems,including but not limited to, an audio system, the navigation system,and/or a lighting system to provide additional visual or audionotifications that may correspond to the one or more point of interestrelated notifications being presented through the display unit 116. Forexample, the point of interest notifications may be displayed along withan audio readout of the notifications and/or with a promotionalrecording associated with a particular point of interest and/or categoryof point of interest.

In one or more embodiments, the one or more POI notification interfacesmay additionally include one or more uniform resource locator (URL)links that may be selected by one or more occupants to access one ormore websites, applications, and/or media (e.g., video, audio) that maybe associated with a respective point(s) of interest. Accordingly, oneor more occupants of the vehicle 102 may be presented with variouslevels of information that may pertain to one or more particular pointsof interest that are located within the predetermined vicinity of thetraveling location of the vehicle 102 based on previous points ofinterest that the vehicle 102 may have previously visited. Thisfunctionality may ensure that the occupants may be provided withinformation that may be relevant to them with respect to one or morepoints of interest that may be of interest to them.

In an exemplary embodiment, the ECU 104 may additionally be operablyconnected to a communication unit 118 of the vehicle 102. Thecommunication unit 118 may communicate with one or more components ofthe operating environment 100 and/or additional systems and componentsoutside of the operating environment 100. The communication unit 118 mayinclude, but is not limited to, one or more transceivers (not shown) ofthe vehicle 102 and additional components (not shown) that may beutilized for wired and wireless computer connections and communicationsvia various protocols with one or more portable devices that may becarried by one or more occupants and may be within a (predetermined)communicable range with the communication unit 118 of the vehicle 102.For example, the communication unit 118 may be utilized for wired andwireless computer connections that may include an active computerconnection with the portable device(s) that may be previously paired tothe vehicle 102.

In one embodiment, the communication unit 118 may be configured tocommunicate with the external server 106 through an internet cloud 120.As discussed below, the communication unit 118 may be configured to sendand receive data that may be analyzed, accessed, and/or stored by thePOI notification application 108. For example, the communication unit118 may be configured to send data pertaining to one or moregeo-locations of the vehicle 102 to be stored on the external server 106and utilized by the application 108.

In an exemplary embodiment, the ECU 104 may be operably connected tovehicle dynamic sensors 122 of the vehicle 102. In one embodiment, thevehicle dynamic sensors 122 may be configured to output vehicle dynamicdata to the ECU 104, the POI notification application 108, one or morevehicle systems, sub-systems, control systems, and the like. The vehicledynamic sensors 122 may include, but may not be limited to, speedsensors, brake force sensors, steering speed sensors, steering anglesensors, throttle angle sensors, accelerometers, magnetometers,gyroscopes, wheel speed sensors, wheel turning angle sensors, yaw ratesensors, transmission gear sensors, temperature sensors, RPM sensors,GPS/DGPS sensors, and the like (individual sensors not shown).

In one embodiment, the vehicle dynamic sensors 122 may be configured tooutput and communicate vehicle dynamic data that may pertain to areal-time speed of the vehicle 102. The POI notification application 108may analyze the real-time speed to determine if the real-time speed isbelow, equal to, or above a predetermined speed threshold. Thepredetermined speed threshold may include a particular speed (e.g., 1MPH) that may be utilized by the application 108 to determine that thevehicle 102 is slowing down and/or being stopped at a particulargeo-location that is associated with at least one point of interest. Inparticular, the application 108 may evaluate additional data pertainingto the real-time speed of the vehicle 102 that may be utilized as atriggering event and may be used to determine one or more instances inwhich a geo-location of the vehicle 102 should be retrieved from thevehicle 102 and stored on the external server 106. In particular, thisdetermination may be utilized by the application 108 to send dataassociated with the geo-location of the vehicle 102 to the externalserver 106. As discussed below, the geo-location of the vehicle 102 maybe further utilized to provide one or more point of interest relatednotifications to the occupant(s) of the vehicle 102 when the vehicle 102is subsequently determined to be within a predetermined vicinity of thepoint(s) of interest.

In one or more embodiments, the ECU 104 may additionally be configuredto communicate with GPS sensors 124 of the vehicle 102. The GPS sensors124 may be configured as global positioning sensors that may beconfigured to provide global positioning coordinates (GPS coordinates)and/or differential global positioning coordinates (DGPS coordinates)that may be analyzed by the ECU 104 and/or the application 108 todetermine corresponding geo-locations of the vehicle 102. Thegeo-locations may include particular values that may be based on ageographic coordinate reference system. For example, in one embodiment,the geo-locations of the vehicle 102 may be included as values that maypertain to latitude and longitude based geographical coordinates thatmay be specified in decimal degrees.

As discussed in more detail below, the GPS sensors 124 may be configuredto communicate a current geo-location of the vehicle 102 during eachtrip of the vehicle 102. The application 108 may utilize the currentgeo-location to determine if the vehicle 102 is located at or near oneor more points of interest and may utilize such data to send the currentgeo-location information to the external server 106. The currentgeo-location information may be stored with associated point of interestrelated information and/or may be used to communicate one or more POIrelated notifications to the occupant(s) within the vehicle 102.

In an exemplary embodiment, the ECU 104 may be configured to communicatewith door sensors 126 of the vehicle 102. The door sensors 126 may bedisposed on doors (not shown) of the vehicle 102. In one embodiment, thedoor sensors 126 may be configured to communicate door sensing data tothe ECU 104 and/or the application 108 that may pertain to a change inopening/closing status of a respective door of the vehicle 102. Forexample, if a driver's side door of the vehicle 102 is opened from aclosed state, or closed from an opened state, the door sensors 126disposed at or near the driver's side door may be configured tocommunicate respective door sensing data to the POI notificationapplication 108.

In one configuration, the POI notification application 108 may utilizethe door sensing data to determine a current geo-location of the vehicle102 at one or more points in time. In particular, the application 108may evaluate additional data pertaining to the opening of the door(s) ofthe vehicle 102 that may be utilized as a triggering event and may beused to determine one or more instances in which a geo-location of thevehicle 102 should be retrieved from the vehicle 102 and stored on theexternal server 106.

In one or more embodiments, the ECU 104 may be configured to communicatewith window sensors 128 of the vehicle 102. The window sensors 128 maybe disposed near windows (not shown) of the vehicle 102. In oneembodiment, the window sensors 128 may be configured to communicatewindow sensing data to the ECU 104 and/or the application 108 that maypertain to a change in opening/closing status of a respective window ofthe vehicle 102. For example, if a driver's side window of the vehicle102 is opened from a closed state, or closed from an opened state, thewindow sensors 128 disposed near the driver's side window may beconfigured to communicate respective window sensing data to the POInotification application 108.

In one configuration, the POI notification application 108 may utilizethe window sensing data to determine a current geo-location of thevehicle 102 at one or more points in time. In particular, theapplication 108 may evaluate additional data pertaining to the openingof the window(s) of the vehicle 102 that may be utilized as a triggeringevent and may be used to determine one or more instances in which ageo-location of the vehicle 102 should be retrieved from the vehicle 102and stored on the external server 106.

With particular reference to the external server 106, in an exemplaryembodiment, the external server 106 may include a processor 130 that mayoperably control one or more components of the external server 106. Insome configurations, the processor 130 may be configured to execute thePOI notification application 108. The processor 130 may be operablyconnected to a communication unit 132 of the external server 106. Thecommunication unit 132 may include one or more network interface cards(not shown) that may be configured to connect to one or more computingsystems through the internet cloud 120 including, but not limited to,the ECU 104 of the vehicle 102. In one embodiment, the communicationunit 132 may be configured to send and receive data through the internetcloud 120 with the communication unit 118 of the vehicle 102 tofacilitate the collection of real-time geo-location information from thevehicle 102, to communicate point of interest related information to thevehicle 102, and/or to provide one or more POI related notifications tothe occupant(s) within the vehicle 102.

In one configuration, the processor 130 may be operably connected to amemory 134 of the external server 106. The memory 134 may be configuredto store data files associated with one or more applications, operatingsystems, vehicle systems, subsystem user interfaces, including but notlimited to data files of the POI notification application 108. Inparticular, the memory 134 may be configured to store a vehicle trip log136 that may be accessed and utilized by the POI notificationapplication 108. In one embodiment, the vehicle trip log 136 may beconfigured as a relational database/data store that may include variousrecords that may pertain to respective geo-locations that may becollected from the vehicle 102.

As discussed below, the application 108 may access the vehicle trip log136 to update the vehicle trip log with current geo-location informationthat may pertain to a current geo-location of the vehicle 102. Asdiscussed, the current geo-location information may be provided from thevehicle 102 to the external server 106 based on one or more triggeringevents that may take place that may be related to an operation of thevehicle 102 or a use of a component such as one or more doors or one ormore windows of the vehicle 102. In one configuration, the currentgeo-location information may also include a time stamp that includesdate and time values that pertain to the date and time that the vehicle102 is located at the current geo-location(s).

In some configurations, the timestamp may be analyzed by the application108 to determine one or more points of interest that may be frequentlyvisited by the occupant(s) of the vehicle 102. Additionally, theapplication 108 may analyze one or more points of interest includedwithin the POI favorite list 112 stored on the storage unit 110 of thevehicle 102. The application 108 may thereby prioritize one or more POIrelated notifications of one or more respective points of interest to beprovided over other POI related notifications to ensure that theoccupant(s) receive smart suggestions, event notifications, discountnotifications, offer notifications, and/or additional notifications thatmay pertain to one or more particular points of interest that theyprefer and/or frequent.

In an exemplary embodiment, the memory 134 may additionally store a POIdata repository 138. The POI data repository 138 may include aparticular data store that may be utilized by the application 108 tostore point of interest related notification data that is updated basedon communication with a POI computing infrastructure 140. The point ofinterest related notification data may include geo-location data thatmay pertain to one or more particular points of interest. Such data maybe utilized to determine points of interest that are located atparticular geo locations. The point of interest related notificationdata may additionally include suggestion data, event data, discountdata, offer data, and/or additional notification data that may pertainto respective points of interest. In one embodiment, the POI datarepository may be updated continually with updated point of interestrelated notification data that is provided by the POI computinginfrastructure 140 and used by the application 108 to provide the one ormore POI related notifications to the occupant(s) of the vehicle 102.

In one embodiment, the POI computing infrastructure 140 may include oneor more computing devices (similar to the external server 106) that maycommunicate with one or more third party entities, that may include, butmay not be limited to, retailors, restaurant operators, serviceproviders, businesses, application developers/providers, and the like toreceive data that may pertain to suggestions, events, discounts, offers,and/or additional relevant information (e.g., hours of operation,related events, company promotions, point of interest category relatedinformation) that may be provided to the POI computing infrastructure140. This data may be provided to the POI computing infrastructure 140to be stored and/or communicated to the external server 106 at one ormore points in time. In particular, such data may be communicated by thePOI computing infrastructure 140 to the external server 106 to be storedas point of interest notification data that may pertain to one or morepoints of interest that have been visited by the occupant(s) as storedwithin the vehicle trip log 136. In some configurations, such data maybe communicated by the POI computing infrastructure 140 at particularpoints of time when one or more receive smart suggestion, events,discounts, offers, and/or additional notifications may be applicable. Asdiscussed below, the POI notification application 108 may access the POIdata repository 138 to retrieve the point of interest relatednotification data to thereby provide one or more POI relatednotifications to the occupant(s) of the vehicle 102 that are determinedfrom the point of interest related notification data.

II. The Point of Interest Notification Communication Application andRelated Methods

The general functionality of the POI notification application 108 willnow be discussed in more detail with respect to methods that may beexecuted by the application 108. In an exemplary embodiment, the POInotification application 108 may be fully or partially executed by theECU 104 and/or the head unit 114 of the vehicle 102. Additionally oralternatively, the POI notification application 108 and one or morefeatures and systems of the application 108, may be fully or partiallyexecuted by the processor 130 of the external server 106. The POInotification application 108 may utilize the communication unit 118 ofthe vehicle 102 and the communication unit 132 of the external server106 to communicate application related data between one another throughthe internet cloud 120. Additionally, the POI notification application108 may utilize the communication unit 132 of the external server 106 tocommunicate application related data through the internet cloud 120between the external server 106 and the POI computing infrastructure140.

FIG. 2 is a schematic view of a plurality of modules 202-208 of the POInotification application 108 for providing point of interest relatednotifications associated with the at least one point of interest that islocated within the predetermined vicinity of the location of the vehicle102 according to an exemplary embodiment of the present disclosure. Inan exemplary embodiment, the plurality of modules 202-208 may include asensor data reception module 202, a location determinant module 204, atrip log update module 206, and a POI notification communication module208. It is appreciated that the POI notification application 108 mayinclude one or more additional modules and/or sub-modules that areincluded in addition or in lieu of the modules 202-208.

FIG. 3 is a process flow diagram of a method 300 for storing ageo-location of the vehicle 102 based on one or more ignition modes ofthe vehicle 102 according to an exemplary embodiment of the presentdisclosure. FIG. 3 will be described with reference to the components ofFIG. 1 and FIG. 2, though it is to be appreciated that the method 300 ofFIG. 3 may be used with additional and/or alternative system components.It is appreciated that the method 300 of FIG. 3 may be continuallyexecuted by the POI notification application 108 based on the enablementand/or disablement of one or more ignition modes of the vehicle 102.

The method 300 may begin at block 302, wherein the method 300 mayinclude determining when at least one ignition mode of the vehicle 102is enabled. In an exemplary embodiment, the sensor data reception module202 of the POI notification application 108 may be configured tocommunicate with the ECU 104, the vehicle dynamic sensors 122, the GPSsensors 124, the door sensors 126, and/or the window sensors 128 of thevehicle 102 to receive respective data. Such data may be analyzed by thesensor data reception module 202 and/or communicated to one or moreadditional modules 204-208 of the application 108 to be further analyzedand/or processed.

In one embodiment, if one or more ignition modes of the vehicle 102(e.g., battery powered mode, accessory mode, engine enablement mode) areenabled based on a driver manually enabling the ignition mode(s) (e.g.,by inputting a push button) or the ECU 104 autonomously enabling theignition mode(s), the ECU 104 may communicate respective data to thesensor data reception module 202. The sensor data reception module 202may accordingly determine when at least one ignition mode of the vehicle102 is enabled.

The method 300 may proceed to block 304, wherein the method 300 mayinclude determining a current geo-location of the vehicle 102. In anexemplary embodiment, upon determining that at least one ignition modeof the vehicle 102 has been enabled, the sensor data reception module202 may communicate with the GPS sensors 124 to determine GPScoordinates and/or DGPS coordinates of a current real-time geo-locationof the vehicle 102. The GPS sensors 124 may thereby communicate the GPScoordinates and/or DGPS coordinates to the sensor data reception module202. In one embodiment, the sensor data reception module 202 maycommunicate the GPS/DGPS coordinates of the vehicle 102 to the locationdeterminant module 204.

In one embodiment, the location determinant module 204 of the POInotification application 108 may be configured to analyze GPS/DGPScoordinates of the vehicle 102 and determine the current geo-location ofthe vehicle 102. As discussed above, the current geo-location of thevehicle 102 may be included as values that may pertain to latitude andlongitude based geographical coordinates that may be specified indecimal degrees. As discussed below, the location determinant module 204may also be configured to communicate with the external server 106 tosend and/or receive data pertaining to one or more current geo-locationsand/or one or more past geo-locations of the vehicle 102.

The method 300 may proceed to block 306, wherein the method 300 mayinclude determining if the geo-location of the vehicle 102 is differentfrom a last stored geo-location. In one embodiment, each time thevehicle 102 is enabled, disabled, and/or one or more triggering eventsis determined to take place, the trip log update module 206 of the POInotification application 108 may be configured access the vehicle triplog 136 stored on the memory 134 of the external server 106 to storecurrent geo-location information. The current geo-location informationmay also include a time stamp that includes date and time values thatpertain to the date and time that the vehicle 102 is located at thecurrent geo-location.

In one or more embodiments, upon determining the current geo-location ofthe vehicle 102, the location determinant module 204 may be configuredto communicate with the external server 106 and may analyze the vehicletrip log 136 to determine a last stored geo-location of the vehicle 102based on the time stamp of the current geo-location information that waslast stored on the vehicle trip log 136. Accordingly, if the last storedgeo-location of the vehicle 102 matches the current geo-location of thevehicle 102 (as determined at block 304), the location determinantmodule 204 may determine that the current geo-location of the vehicle102 is not different than a last stored geo-location (at block 306).

The method 300 may accordingly proceed to block 316, wherein the method300 may include prohibiting sending of data to update the vehicle triplog 136. In one embodiment, upon determining that the currentgeo-location of the vehicle 102 is the same as the last storedgeo-location (at block 306), the location determinant module 204 maycommunicate corresponding data to the trip log update module 206. In oneembodiment, the trip log update module 206 may thereby prohibit anycommunication of the current geo-location of the vehicle 102 between thecommunication unit 118 of the vehicle 102 and the communication unit 132of the external server 106, thereby prohibiting the sending of data toupdate the vehicle trip log 136.

Referring again to block 306, upon analyzing the vehicle trip log 136and determining a last stored geo-location of the vehicle 102 based onthe time stamp of the current geo-location information that was laststored on the vehicle trip log 136, if the last stored geo-location ofthe vehicle 102 does not match the current geo-location of the vehicle102 (as determined at block 304), the location determinant module 204may determine that the geo-location of the vehicle 102 different than alast stored geo-location. The method 300 may thereby proceed to block308, wherein the method 300 may include updating the vehicle trip log136 with the current geo-location of the vehicle 102 and an associatedtimestamp. In one configuration, upon initially determining that thevehicle 102 is located at a geo-location (e.g., during an initial visit)and upon determining enablement or disablement of one or more ignitionmodes of the vehicle 102 and/or one or more triggering events, theapplication 108 may create a new record that pertains to thegeo-location of the vehicle 102.

In an exemplary embodiment, upon determining that the currentgeo-location of the vehicle 102 is different from the last storedgeo-location (at block 306), the location determinant module 204 maycommunicate corresponding data to the trip log update module 206. In oneembodiment, the trip log update module 206 may utilize the communicationunit 118 of the vehicle 102 to communicate the current geo-location ofthe vehicle 102 to the external server 106 through the communicationunit 132. Accordingly, the trip log update module 206 may access thevehicle trip log 136 stored on the memory 134 of the external server 106to query the vehicle trip log 136 to determine if a record pertaining tothe current geo-location already exists (e.g., has been previouslycreated) within the vehicle trip log 136 based on the vehicle 102previously being located within the predetermined vicinity of thegeo-location.

If it is determined that the record pertaining to the currentgeo-location already exists, the trip log update module 206 may updatethe record with a current time stamp that may be stored in addition topast time stamps during which the vehicle 102 was/is located at thecurrent geo-location. Alternatively, if the trip log update module 206determines that a record pertaining to the current geo-location does notexist, the trip log update module 206 may create a new record thatpertains to the current geo-location of the vehicle 102. The new recordmay additionally be updated with the time stamp associated with thecurrent date and time that the vehicle 102 is located at the currentgeo-location. It is appreciated that the trip log update module 206 mayaccordingly update the newly created record pertaining to the currentgeo-location each time the vehicle 102 is determined to be locatedwithin the predetermined distance of the geo-location at a future pointin time based on the determination of enablement or disablement of oneor more ignition modes of the vehicle 102 and/or that one or moretriggering events occurs.

The method 300 may proceed to block 310, wherein the method 300 mayinclude determining when at least one ignition mode of the vehicle 102is disabled. In one embodiment, if one or more ignition modes of thevehicle 102 are disabled based on the driver manually disabling theignition mode(s) (e.g., by inputting a push button) or the ECU 104autonomously disabling the ignition mode(s), the ECU 104 may communicaterespective data to the sensor data reception module 202. The sensor datareception module 202 may accordingly determine when at least oneignition mode of the vehicle 102 is disabled.

The method 300 may proceed to block 312, wherein the method 300 mayinclude determining a current geo-location of the vehicle 102. In anexemplary embodiment, upon determining that at least one ignition modeof the vehicle 102 has been disabled, the sensor data reception module202 may communicate with the GPS sensors 124 to determine GPScoordinates and/or DGPS coordinates of a current real-time geo-locationof the vehicle 102. The GPS sensors 124 may thereby communicate the GPScoordinates and/or DGPS coordinates to the sensor data reception module202. In one embodiment, the sensor data reception module 202 maycommunicate the GPS/DGPS coordinates of the vehicle 102 to the locationdeterminant module 204. In one embodiment, the location determinantmodule 204 of the POI notification application 108 may be configured toanalyze the GPS/DGPS coordinates of the vehicle 102 and determine thecurrent geo-location of the vehicle 102.

The method 300 may proceed to block 314, wherein the method 300 mayinclude determining if the geo-location of the vehicle 102 is differentfrom a last stored geo-location. In one or more embodiments, upondetermining the current geo-location of the vehicle 102, the locationdeterminant module 204 may be configured to communicate with theexternal server 106 and may analyze the vehicle trip log 136 todetermine a last stored geo-location of the vehicle 102 based on thetime stamp of the real-time geo-location information that was laststored on the vehicle trip log 136. Accordingly, if the last storedgeo-location of the vehicle 102 matches the current geo-location of thevehicle 102 (as determined at block 312), the location determinantmodule 204 may determine that the geo-location of the vehicle 102 is notdifferent than a last stored geo-location (at block 314). The method 300may accordingly proceed to block 316, wherein the method 300 may includeprohibiting sending of data to update the vehicle trip log 136, asdiscussed in detail above.

Upon analyzing the vehicle trip log 136 and determining a last storedgeo-location of the vehicle 102 based on the time stamp of the real-timegeo-location information that was last stored on the vehicle trip log136, if the last stored geo-location of the vehicle 102 does not matchthe current geo-location of the vehicle 102 (as determined at block314), the location determinant module 204 may determine that thegeo-location of the vehicle 102 different than a last storedgeo-location. The method 300 may thereby proceed to block 318, whereinthe method 300 may updating the vehicle trip log 136 with the currentgeo-location of the vehicle 102 and an associated timestamp.

In an exemplary embodiment, upon determining that the currentgeo-location of the vehicle 102 is different from the last storedgeo-location (at block 314), the location determinant module 204 maycommunicate corresponding data to the trip log update module 206. In oneembodiment, the trip log update module 206 may utilize the communicationunit 118 of the vehicle 102 to communicate the current geo-location ofthe vehicle 102 to the external server 106 through the communicationunit 132. Accordingly, the trip log update module 206 may access thevehicle trip log 136 stored on the memory 134 of the external server 106to query the vehicle trip log 136 to determine if a record pertaining tothe current geo-location already exists (e.g., has been previouslycreated) within the vehicle trip log 136.

If it is determined that the record pertaining to the currentgeo-location already exists, the trip log update module 206 may updatethe record with a current time stamp that may be stored in addition topast time stamps during which the vehicle 102 was/is located at thecurrent geo-location. Alternatively, if the trip log update module 206determines that a record pertaining to the current geo-location does notexist, the trip log update module 206 may create a new record thatpertains to the current geo-location of the vehicle 102.

FIG. 4 is a process flow diagram of a method 400 for storing ageo-location of the vehicle 102 based on one or more triggering eventsoccurring according to an exemplary embodiment of the presentdisclosure. FIG. 4 will be described with reference to the components ofFIG. 1 and FIG. 2, though it is to be appreciated that the method 400 ofFIG. 4 may be used with additional and/or alternative system components.It is appreciated that the method 400 of FIG. 4 may be continuallyexecuted by POI notification application 108 during enablement ordisablement of one or more ignition modes of the vehicle 102.

The method 400 may begin at block 402, wherein the method 400 mayinclude determining if at least one door of the vehicle 102 is opened.In an exemplary embodiment, the sensor data reception module 202 may beconfigured to communicate with the door sensors 126 to determine if oneor more doors of the vehicle 102 are opened from a closed state. In oneconfiguration, upon the opening or closing of one or more particulardoors of the vehicle 102, the door sensors 126 may communicaterespective data to the sensor data reception module 202.

In one configuration, the sensor data reception module 202 may therebyclassify one or more doors of the vehicle 102 being opened as atriggering event and may thereby communicate respective data to thelocation determinant module 204. In alternate configurations, the sensordata reception module 202 may classify a particular door being opened,such as a driver side door being opened, as a triggering event and maycommunicate respective data to the location determinant module 204.

If the triggering event is classified by the sensor data receptionmodule 202 based on determining that at least one door of the vehicle102 is opened (at block 402), the method 400 may proceed to block 404,wherein the method 400 may include determining a current geo-location ofthe vehicle 102. In an exemplary embodiment, upon at least one door ofthe vehicle 102 being determined to be opened, the sensor data receptionmodule 202 may communicate with the GPS sensors 124 to determine GPScoordinates and/or DGPS coordinates of a current geo-location of thevehicle 102. The GPS sensors 124 may thereby communicate the GPScoordinates and/or DGPS coordinates to the sensor data reception module202. In one embodiment, the sensor data reception module 202 maycommunicate the GPS/DGPS coordinates of the vehicle 102 to the locationdeterminant module 204. In one embodiment, the location determinantmodule 204 of the POI notification application 108 may be configured toanalyze GPS/DGPS coordinates of the vehicle 102 and determine thecurrent geo-location of the vehicle 102.

The method 400 may proceed to block 406, wherein the method 400 mayinclude determining if a geo-location of the vehicle 102 is differentfrom a last stored geo-location. In one or more embodiments, upondetermining the current geo-location of the vehicle 102, the locationdeterminant module 204 may be configured to communicate with theexternal server 106 and may analyze the vehicle trip log 136 todetermine a last stored geo-location of the vehicle 102 based on thetime stamp of the real-time geo-location information that was laststored on the vehicle trip log 136. Accordingly, if the last storedgeo-location of the vehicle 102 matches the current geo-location of thevehicle 102 (as determined at block 404), the location determinantmodule 204 may determine that the geo-location of the vehicle 102 is notdifferent than a last stored geo-location (at block 406). The method 400may accordingly proceed to block 416, wherein the method 400 may includeprohibiting sending of data to update the vehicle trip log 136.

In one embodiment, upon determining that the current geo-location of thevehicle 102 is the same as the last stored geo-location (at block 406),the location determinant module 204 may communicate corresponding datato the trip log update module 206. In one embodiment, the trip logupdate module 206 may thereby prohibit any communication of the currentgeo-location of the vehicle 102 between the communication unit 118 ofthe vehicle 102 and the communication unit 132 of the external server106, thereby prohibiting the sending of data to update the vehicle triplog 136.

Referring again to block 406, upon analyzing the vehicle trip log 136and determining a last stored geo-location of the vehicle 102 based onthe time stamp of the real-time geo-location information that was laststored on the vehicle trip log 136, if the last stored geo-location ofthe vehicle 102 does not match the current geo-location of the vehicle102 (as determined at block 404), the location determinant module 204may determine that the geo-location of the vehicle 102 different than alast stored geo-location. The method 400 may thereby proceed to block418, wherein the method 400 may include updating the vehicle trip log136 with the current geo-location of the vehicle 102 and an associatedtimestamp.

In an exemplary embodiment, upon determining that the currentgeo-location of the vehicle 102 is different from the last storedgeo-location (at block 306), the location determinant module 204 maycommunicate corresponding data to the trip log update module 206. In oneembodiment, the trip log update module 206 may utilize the communicationunit 118 of the vehicle 102 to communicate the current geo-location ofthe vehicle 102 to the external server 106 through the communicationunit 132. Accordingly, the trip log update module 206 may access thevehicle trip log 136 stored on the memory 134 of the external server 106to query the vehicle trip log 136 to determine if a record pertaining tothe current geo-location already exists (e.g., has been previouslycreated) within the vehicle trip log 136.

If it is determined that the record pertaining to the currentgeo-location already exists, the trip log update module 206 may updatethe record with a current time stamp that may be stored in addition topast time stamps during which the vehicle 102 was/is located at thecurrent geo-location. Alternatively, if the trip log update module 206determines that a record pertaining to the current geo-location does notexist, the trip log update module 206 may create a new record thatpertains to the current geo-location of the vehicle 102.

Referring again to block 402, if it is determined that at least one doorof the vehicle 102 is not opened, the method 400 may proceed to block408, wherein the method 400 may include determining if at least onewindow of the vehicle 102 is opened. In an exemplary embodiment, thesensor data reception module 202 may be configured to communicate withthe window sensors 128 to determine if one or more windows of thevehicle 102 are opened from a closed state. In one configuration, uponthe opening or closing of one or more particular widows of the vehicle102, the window sensors 128 may communicate respective data to thesensor data reception module 202.

In one configuration, the sensor data reception module 202 may therebyclassify one or more windows of the vehicle 102 being opened as atriggering event and may thereby communicate respective data to thelocation determinant module 204. In alternate configurations, the sensordata reception module 202 may classify a particular window being opened,such as a driver side window being opened, as a triggering event and maycommunicate respective data to the location determinant module 204.

If the triggering event is classified by the sensor data receptionmodule 202 based on determining that at least one window of the vehicle102 is opened (at block 408), the method 400 may proceed to block 410,wherein the method 400 may include determining a current geo-location ofthe vehicle 102. In an exemplary embodiment, upon determining that atleast one window of the vehicle 102 is opened, the sensor data receptionmodule 202 may communicate with the GPS sensors 124 to determine GPScoordinates and/or DGPS coordinates of a current geo-location of thevehicle 102. The GPS sensors 124 may thereby communicate the GPScoordinates and/or DGPS coordinates to the sensor data reception module202. In one embodiment, the sensor data reception module 202 maycommunicate the GPS/DGPS coordinates of the vehicle 102 to the locationdeterminant module 204. In one embodiment, the location determinantmodule 204 of the POI notification application 108 may be configured toanalyze GPS/DGPS coordinates of the vehicle 102 and determine thecurrent geo-location of the vehicle 102.

The method 400 may proceed to block 412, wherein the method 400 mayinclude determining if the geo-location of the vehicle 102 includes atleast one pre-selected POI category. As discussed above, the POInotification application 108 may determine one or more selected POIcategories that may be determined based on one or more categories ofpoints of interest that may be included within the POI favorite list 112stored on the storage unit 110 of the vehicle 102. In an additionalembodiment, the POI notification application 108 may determine one ormore selected POI categories that may be determined based on one or morecategories of points of interest that may be frequently visited by theoccupant(s) of the vehicle 102, based on analysis of timestamps that areassociated with the points of interest stored upon the vehicle trip log136.

The categories may include, but may not be limited to, particular typesof retailors, restaurants, service providers, businesses, applicationdevelopers/providers. For example, the categories may include pizzarestaurants, coffee shops, car washes, whole sale retailors, etc. thatmay be determined based on one or more categories of points of interestthat may be included within the POI favorite list 112 and/or one or morecategories of points of interest that may be frequently visited by theoccupants of the vehicle 102 (as determined based on the geo-location(s)of the vehicle 102).

In one or more embodiments, as discussed above, the application 108 maystore point of interest related notification data that is updated basedon communication with a POI computing infrastructure 140. The point ofinterest related notification data may include geo-location data thatmay pertain to one or more particular points of interest. In oneembodiment, upon determining the current geo-location of the vehicle 102(at block 410), the location determinant module 204 may be configured tocommunicate with the external server 106 to access the POI datarepository 138 stored on the memory 134. The location determinant module204 may thereby determine one or more points of interest that arelocated at the current geo-location of the vehicle 102. In particular,the location determinant module 204 may determine one or more respectivepoint of interest names (e.g., name of coffee shop), one or more pointof interest categories, and point of interest related informationassociated with the current geo-location of the vehicle 102.

In one embodiment, upon determining the one or more categories of one ormore respective points of interest located at the current geo-locationof the vehicle 102, the location determinant module 204 may determine ifthe geo-location of the vehicle 102 includes at least one pre-selectedPOI categories, as determined by the application 108 based on one ormore categories of points of interest that may be frequently visited bythe occupant(s) of the vehicle 102, based on analysis of timestamps thatare associated with the points of interest stored upon the vehicle triplog 136.

If it is determined that the geo-location of the vehicle 102 does notinclude at least one pre-selected POI category (at block 412), themethod 400 may proceed to block 416, wherein the method 400 may includeprohibiting sending of data to update the vehicle trip log 136, asdiscussed in detail above. Alternatively, if it is determined that thegeo-location of the vehicle 102 includes at least one pre-selected POIcategory (at block 412), the method 400 may proceed to block 414,wherein the method 400 may include determining if the vehicle speed isbelow a predetermined speed threshold.

In an exemplary embodiment, the sensor data reception module 202 may beconfigured to communicate with the vehicle dynamic sensors 122 todetermine a real-time speed of the vehicle 102. In one configuration,the vehicle dynamic sensors 122 may be configured to provide thereal-time speed as a value to the sensor data reception module 202 uponthe module 202 communicating with the vehicle dynamic sensors 122 todetermine the real-time speed. In an alternate embodiment, the vehicledynamic sensors 122 may communicate the real time-speed as a value tothe sensor data reception module 202 upon the vehicle dynamic sensors122 determining that brakes of the vehicle 102 are utilized to slow thevehicle 102 down and/or a steering angle of the steering of the vehicle102 indicates that the vehicle 102 is being turned by a predeterminedamount (e.g., turning onto another street, drive thru, parking lot).

In one embodiment, upon receiving the real-time speed of the vehicle102, the sensor data reception module 202 may compare the real-timespeed to the predetermined speed threshold implemented by theapplication 108. As discussed above, the predetermined speed thresholdmay include a particular speed (e.g., 1 MPH) that may be utilized by theapplication 108 to determine that the vehicle 102 is slowing down and/orbeing stopped at a particular geo-location. Based on the comparison ofthe real-time speed against the predetermined speed threshold, thesensor data reception module 202 may determine if the vehicle speed isbelow the predetermined speed threshold.

In one configuration, if the sensor data reception module 202 determinesthat the vehicle speed is below the predetermined speed thresholdimplemented by the application 108, the sensor data reception module 202may thereby classify the reduction in vehicle speed as a triggeringevent and may communicate respective data to the location determinantmodule 204. If the triggering event classified by the sensor datareception module 202 is determined to occur based on determining thatthat the vehicle speed is below the predetermined speed thresholdimplemented by the application 108 (at block 414), the method 400 mayproceed to block 418, wherein the method 400 may updating the vehicletrip log 136 with the current geo-location of the vehicle 102 and anassociated timestamp, as discussed above in more detail.

Alternatively, if the triggering event is not determined to occur by thesensor data reception module 202 based on determining that that thevehicle speed meets or is above the predetermined speed thresholdimplemented by the application 108 (at block 414), the method 400 mayproceed to block 416, wherein the method 400 may include prohibitingsending of data to update the vehicle trip log 136, as discussed in moredetail above. It is to be appreciated that the method 300 of FIG. 3 andthe method 400 FIG. 4 may be continually and contemporaneously executedby the POI notification application 108 to ensure that one or morepoints of interest that may be located within a predetermined distanceof a current geo-location of the vehicle 102 are possibly stored basedon the enablement of one or more ignition modes of the vehicle 102, thedisablement of one or more ignition modes of the vehicle 102, and/or theoccurrence of one or more triggering events as determined by the POInotification application 108.

FIG. 5 is a process flow diagram of a method 500 for providing one ormore point of interest notifications to be presented within the vehicle102 according to an exemplary embodiment of the present disclosure. FIG.5 will be described with reference to the components of FIG. 1 and FIG.2, though it is to be appreciated that the method 500 of FIG. 5 may beused with additional and/or alternative system components. It isappreciated that the method 500 of FIG. 5 may be continually executed byPOI notification application 108 during enablement or disablement of oneor more ignition modes of the vehicle 102.

The method 500 may begin at block 502, wherein the method 500 mayinclude accessing the POI data repository 138 and determining POIrelated data associated with one or more geo-locations updated withinthe vehicle trip log 136. In an exemplary embodiment, upon updating thevehicle trip log 136 with the current geo-location of the vehicle 102(at blocks 308, 318 of the method 300 of FIG. 3 and/or block 418 of themethod 400 of FIG. 4), the trip log update module 206 may send datapertaining to the current geo-location of the vehicle 102 to the POInotification communication module 208. The POI notificationcommunication module 208 of the application 108 may be configured todetermine data that may pertain to one or more points of interest andrelated point of interest notification data that may pertain to one ormore points of interest that are located within a predetermined distanceof the current geo-location of the vehicle 102.

In one embodiment, the POI notification communication module 208 maycommunicate with the external server 106 and analyze the POI datarepository 138 with respect to the current geo-location(s) of thevehicle 102 stored on the vehicle trip log 136. In particular, the POInotification communication module 208 may analyze the POI datarepository 138 to determine POI related data that includes point ofinterest names, point of interest categories, and/or additional point ofinterest related information that may be associated with one or moregeo-locations as stored by the trip log update module 206.

The method 500 may proceed to block 504, wherein the method 500 mayinclude updating each geo-location record of the vehicle trip log 136with respective POI related data. In one configuration, upon determiningthe POI related data associated with one or more geo-locations (at block502), the POI notification communication module 208 may access thevehicle trip log 136 and update one or more respective records of thevehicle trip log 136 with POI related data that may be associated to oneor more points of interest that are located within a predetermineddistance of the respective geo-location(s). Accordingly, one or morerecords of the vehicle trip log 136 that have been updated with thecurrent geo-location of the vehicle 102 (at blocks 308, 318 of themethod 300 of FIG. 3 and/or block 418 of the method 400 of FIG. 4), maybe further updated or re-updated with POI related data that may beassociated with one or more points of interest that are located within apredetermined distance of the current geo-location of the vehicle 102.In particular, the one or more records may be updated with point ofinterest names, point of interest categories, and/or additional point ofinterest related information that may be associated with the currentgeo-location of the vehicle 102.

The method 500 may proceed to block 506, wherein the method 500 mayinclude determining if a geo-location of the vehicle 102 is within apredetermined vicinity of any of the stored geo-locations. In anexemplary embodiment, the POI notification communication module 208 maycommunicate with the sensor data reception module 202 to determine whenone or more ignition modes of the vehicle 102 are disabled and/orenabled to determine when the vehicle 102 may be utilized for a newtrip. The new trip may be determined as a subsequent usage of thevehicle 102 that occurs after the vehicle trip log 136 is updated withthe current geo-location of the vehicle 102 and respective POI relateddata by the application 108. As discussed above, the sensor datareception module 202 may be configured to communicate with the ECU 104to determine when the vehicle 102 is enabled and/or disabled. The sensordata reception module 202 may accordingly communicate respective dataregarding enablement and/or disablement of one or more ignition modes ofthe vehicle 102 to the POI notification communication module 208.

In one or more embodiments, upon determining enablement and/ordisablement of one or more ignition modes of the vehicle 102, the POInotification communication module 208 may communicate with the locationdeterminant module 204 to determine the current geo-location of thevehicle 102. In some embodiments, this determination may take place atone or more time intervals (e.g., every five minutes) and/or one or moredistance intervals (e.g., every three miles). As discussed above, thelocation determinant module 204 may be configured to analyze GPS/DGPScoordinates of the vehicle 102 as communicated by the GPS sensors 124and determine the current geo-location of the vehicle 102.

Upon determining the current geo-location of the vehicle 102, the POInotification communication module 208 may access the vehicle trip log136 and may query the vehicle trip log 136 for one or more records thatinclude one or more previously stored geo-locations (as previouslystored by the trip log update module 206). If one or more records arefound that include previous geo-locations of the vehicle 102 that arelocated within a predetermined vicinity of the current geo-location ofthe vehicle 102, the POI notification communication module 208 maythereby retrieve associated POI related data from the respectiverecords. Such data may include point of interest names, point ofinterest categories, and additional point of interest relatedinformation.

If it is determined that the geo-location of the vehicle 102 is within apredetermined vicinity of any of the stored geo-location(s) (at block506), the method 500 may proceed to block 508, wherein the method 500may include retrieving point of interest related notification datapertaining to one or more points of interest located within apredetermined distance of the current geo-location of the vehicle 102.

As discussed above, the POI data repository 138 may include a particulardata store that may be utilized by the application 108 to store point ofinterest related notification data that is updated based oncommunication with a POI computing infrastructure 140. The point ofinterest related notification data may additionally include suggestiondata, event data, discount data, offer data, and/or additionalnotification data that may pertain to respective points of interest. Asdiscussed above, if one or more records are found that include previousgeo-locations of the vehicle 102 that are located within a predeterminedvicinity of the current geo-location of the vehicle 102, the POInotification communication module 208 may retrieve associated POIrelated data from the respective records.

In one embodiment, the POI notification communication module 208 mayquery the POI data repository 138 for point of interest names and/orpoint of interest categories that match with the point of interest namesand/or point of interest categories included within the associated POIrelated data retrieved from the respective records of the vehicle triplog 136. The POI notification communication module 208 may accordinglyretrieve point of interest related notification data that may beassociated with one or more points of interest that were previouslyvisited by the vehicle 102 and are located within a predetermineddistance of a current geo-location of the vehicle 102. As discussed, thepoint of interest related notification data may include suggestion data,event data, discount data, offer data, and/or additional notificationdata that may pertain to respective points of interest.

The method 500 may proceed to block 510, wherein the method 500 mayinclude presenting the one or more POI related notifications within thevehicle 102. In an exemplary embodiment, upon retrieving point ofinterest related notification data that may be associated with one ormore points of interest that were previously visited by the vehicle 102and are located within a predetermined distance of a currentgeo-location of the vehicle 102, the POI notification communicationmodule 208 may be configured to communicate with the ECU 104 of thevehicle 102 to present the one or more POI related notifications. In oneembodiment, the ECU 104 may operably control the display unit 116 topresent one or more POI related notification interfaces that may includeone or more point of interest related notifications associated with oneor more points of interest that are located within the predeterminedvicinity of the location of the vehicle 102. The one or more point ofinterest related notifications may be provided within the vehicle 102 tonotify one or more occupants of the vehicle 102 of relevant informationthat may pertain to one or more points of interest that are locatedwithin the predetermined vicinity of the vehicle 102. As discussed, insome embodiments, the head unit 114 may utilize one or more vehiclesystems, including but not limited to, an audio system, the navigationsystem, and/or a lighting system to provide additional visual or audionotifications that may correspond to the one or more point of interestrelated notifications being presented through the display unit 116. Inone embodiment, the point of interest related notifications may includea close input button that may be inputted by the occupant to ceasepresentation of the point of interest related notifications. Inadditional embodiments, the presentation of the point of interestrelated notifications may be ceased based on one or more voice commandsthat may be accepted by the head unit 114.

FIG. 6 is a process flow diagram of a method 600 for providing point ofinterest related notifications within a vehicle 102 according to anexemplary embodiment of the present disclosure. FIG. 6 will be describedwith reference to the components of FIG. 1 and FIG. 2, though it is tobe appreciated that the method 600 of FIG. 6 may be used with additionaland/or alternative system components.

The method 600 may begin at block 602, wherein the method 600 mayinclude receiving sensor data associated with an operation of thevehicle 102 or a use of a component of the vehicle 102. The method 600may proceed to block 604, wherein the method 600 may include storing afirst geo-location of the vehicle 102 based on the sensor data. In oneembodiment, at least point of interest is determined to be locatedwithin a predetermined distance of the first geo-location of the vehicle102.

The method 600 may proceed to block 606, wherein the method 600 mayinclude determining if a subsequent geo-location of the vehicle 102 iswithin a predetermined vicinity of the at least one point of interest.The method 600 may proceed to block 608, wherein the method 600 mayinclude providing point of interest related notifications associatedwith the at least one point of interest when the subsequent geo-locationof the vehicle 102 is within the predetermined vicinity of the at leastone point of interest.

It should be apparent from the foregoing description that variousexemplary embodiments of the invention may be implemented in hardware.Furthermore, various exemplary embodiments may be implemented asinstructions stored on a non-transitory machine-readable storage medium,such as a volatile or non-volatile memory, which may be read andexecuted by at least one processor to perform the operations describedin detail herein. A machine-readable storage medium may include anymechanism for storing information in a form readable by a machine, suchas a personal or laptop computer, a server, or other computing device.Thus, a non-transitory machine-readable storage medium excludestransitory signals but may include both volatile and non-volatilememories, including but not limited to read-only memory (ROM),random-access memory (RAM), magnetic disk storage media, optical storagemedia, flash-memory devices, and similar storage media.

It should be appreciated by those skilled in the art that any blockdiagrams herein represent conceptual views of illustrative circuitryembodying the principles of the invention. Similarly, it will beappreciated that any flow charts, flow diagrams, state transitiondiagrams, pseudo code, and the like represent various processes whichmay be substantially represented in machine readable media and soexecuted by a computer or processor, whether or not such computer orprocessor is explicitly shown.

It will be appreciated that various implementations of theabove-disclosed and other features and functions, or alternatives orvarieties thereof, may be desirably combined into many other differentsystems or applications. Also, that various presently unforeseen orunanticipated alternatives, modifications, variations or improvementstherein may be subsequently made by those skilled in the art which arealso intended to be encompassed by the following claims.

The invention claimed is:
 1. A computer-implemented method for providingpoint of interest related notifications within a vehicle, comprising:receiving sensor data associated with an opening of at least one vehiclewindow of the vehicle; storing a first geo-location of the vehicle basedon the sensor data, wherein storing the first geo-location of thevehicle includes determining if the first geo-location of the vehicle isdifferent from a last stored geo-location of the vehicle, wherein atleast one point of interest is determined to be located within apredetermined distance of the first geo-location of the vehicle;determining if a subsequent geo-location of the vehicle is within apredetermined vicinity of the at least one point of interest; andproviding at least one point of interest related notification associatedwith the at least one point of interest upon determining that thesubsequent geo-location of the vehicle is within the predeterminedvicinity of the at least one point of interest.
 2. Thecomputer-implemented method of claim 1, wherein storing the firstgeo-location of the vehicle includes communicating the firstgeo-location of the vehicle from the vehicle to an external server,wherein a vehicle trip log that is stored on the external server isaccessed and a record is created or updated that includes the firstgeo-location of the vehicle and a time stamp associated with firstgeo-location of the vehicle.
 3. The computer-implemented method of claim2, wherein the record that includes the first geo-location of thevehicle is updated with at least one point of interest name and at leastone point of interest category that is associated with the at least onepoint of interest that is determined to be located within thepredetermined distance of the first geo-location of the vehicle.
 4. Thecomputer-implemented method of claim 2, wherein the sensor data isreceived from at least one window sensor that is disposed near the atleast one vehicle window, wherein the at least one window sensor isconfigured to communicate window sensing data that pertains to a changein an opening or closing status of the at least one window.
 5. Thecomputer-implemented method of claim 4, wherein the data pertaining tothe opening of the at least one window of the vehicle is utilized as atriggering event that is used to determine at least one instance inwhich a current geo-location of the vehicle is to be retrieved from thevehicle and stored upon an external server.
 6. The computer-implementedmethod of claim 5, wherein an opening of a window of a particular doorof the vehicle is classified as a triggering event that is used todetermine at least one instance in which the current geo-location of thevehicle is to be retrieved from the vehicle and stored upon the externalserver.
 7. The computer-implemented method of claim 6, whereindetermining if the subsequent geo-location of the vehicle is within thepredetermined vicinity of the at least one point of interest includesquerying the vehicle trip log to determine if a record exists thatincludes the first geo-location of the vehicle that is within apredetermined vicinity of the subsequent geo-location of the vehicle,wherein point of interest related data is retrieved that is associatedwith the at least one point of interest.
 8. The computer-implementedmethod of claim 1, wherein providing the at least one point of interestrelated notification includes retrieving point of interest relatednotification data that associated with the at least one point ofinterest that is located within the predetermined vicinity of thesubsequent geo-location of the vehicle and presenting the at least onepoint of interest related notification through a display unit within thevehicle.
 9. A system for providing point of interest relatednotifications within a vehicle, comprising: a memory storinginstructions when executed by a processor cause the processor to:receive sensor data associated with an opening of at least one vehiclewindow of the vehicle; store a first geo-location of the vehicle basedon the sensor data, wherein storing the first geo-location of thevehicle includes determining if the first geo-location of the vehicle isdifferent from a last stored geo-location of the vehicle, wherein atleast one point of interest is determined to be located within apredetermined distance of the first geo-location of the vehicle;determine if a subsequent geo-location of the vehicle is within apredetermined vicinity of the at least one point of interest; andprovide at least one point of interest related notification associatedwith the at least one point of interest upon determining that thesubsequent geo-location of the vehicle is within the predeterminedvicinity of the at least one point of interest.
 10. The system of claim9, wherein storing the first geo-location of the vehicle includescommunicating the first geo-location of the vehicle from the vehicle toan external server, wherein a vehicle trip log that is stored on theexternal server is accessed and a record is created or updated thatincludes the first geo-location of the vehicle and a time stampassociated with first geo-location of the vehicle.
 11. The system ofclaim 10, wherein the record that includes the first geo-location of thevehicle is updated with at least one point of interest name and at leastone point of interest category that is associated with the at least onepoint of interest that is determined to be located within thepredetermined distance of the first geo-location of the vehicle.
 12. Thesystem of claim 10, wherein the sensor data is received from at leastone window sensor that is disposed near the at least one vehicle window,wherein the at least one window sensor is configured to communicatewindow sensing data that pertains to a change in an opening or closingstatus of the at least one window.
 13. The system of claim 12, whereinthe data pertaining to the opening of the at least one window of thevehicle is utilized as a triggering event that is used to determine atleast one instance in which a current geo-location of the vehicle is tobe retrieved from the vehicle and stored upon an external server. 14.The system of claim 13, wherein an opening of a window of a particulardoor of the vehicle is classified as a triggering event that is used todetermine at least one instance in which the current geo-location of thevehicle is to be retrieved from the vehicle and stored upon the externalserver.
 15. The system of claim 14, wherein determining if thesubsequent geo-location of the vehicle is within the predeterminedvicinity of the at least one point of interest includes querying thevehicle trip log to determine if a record exists that includes the firstgeo-location of the vehicle that is within a predetermined vicinity ofthe subsequent geo-location of the vehicle, wherein point of interestrelated data is retrieved that is associated with the at least one pointof interest.
 16. The system of claim 9, wherein providing the at leastone point of interest related notification includes retrieving point ofinterest related notification data that associated with the at least onepoint of interest that is located within the predetermined vicinity ofthe subsequent geo-location of the vehicle and presenting the at leastone point of interest related notification through a display unit withinthe vehicle.
 17. A non-transitory computer readable storage mediumstoring instructions that when executed by a computer, which includes aprocessor perform a method, the method comprising: receiving sensor dataassociated with an opening of at least one vehicle window of thevehicle; storing a first geo-location of the vehicle based on the sensordata, wherein storing the first geo-location of the vehicle includesdetermining if the first geo-location of the vehicle is different from alast stored geo-location of the vehicle, wherein at least one point ofinterest is determined to be located within a predetermined distance ofthe first geo-location of the vehicle; determining if a subsequentgeo-location of the vehicle is within a predetermined vicinity of the atleast one point of interest; and providing at least one point ofinterest related notification associated with the at least one point ofinterest upon determining that the subsequent geo-location of thevehicle is within the predetermined vicinity of the at least one pointof interest.
 18. The non-transitory computer readable storage medium ofclaim 17, wherein providing the at least one point of interest relatednotification includes retrieving point of interest related notificationdata that associated with the at least one point of interest that islocated within the predetermined vicinity of the subsequent geo-locationof the vehicle and presenting the at least one point of interest relatednotification through a display unit within the vehicle.